<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>菜鸟教程</title>
</head>
<body>
<?php
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if($_SERVER["REQUEST_METHOD"] == "POST") {

    //name判断
    if(empty($_POST["name"])) {
        $nameErr = "名字是必须的";
    }else {
        $name = test_input($_POST["name"]);
        if(!preg_match("/^[a-zA-Z ]*$/", $name)) {
            $nameErr = "只容许字母和空格";
        }
    }

    //邮箱判断
    if(empty($_POST["email"])) {
        $emailErr = "邮箱是必须的";
    }else {
        $email = test_input($_POST["email"]);
        if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) {
            $emailErr = "非法的邮箱！";
        }
    }

    //地址判断
    if(empty($_POST["website"])) {
        $website = "";
    }else {
        if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
            $websiteErr = "非法的 URL 地址";
        }
    }

    if(empty($_POST["comment"])) {
        $comment = "";
    } else {
        $comment = test_input($_POST["comment"]);
    }

    if(empty($_POST["gender"])) {
        $genderErr = "性别是必须的";
    }else {
        $gender = test_input($_POST["gender"]);
    }
}
    function test_input($data) {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }
?>

<h2>PHP 表单验证实例</h2>
<p><span class="error"> * 必须字段。</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
名字: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">*<?php echo $nameErr; ?></span>
<br><br>
E-mail: <input type="text" name="email" value="<?php echo $email;?>">
<span class="error"><?php echo $email ?></span>
<br><br>
网址： <input type="text" name="website" value="<?php echo $website; ?>">
<span class="error"><?php echo $website; ?></span>
<br><br>
备注: <textarea name="comment" id="" cols="30" rows="10"><?php echo $comment; ?></textarea>
<br><br>
性别: <input type="radio" name ="gender" value="female" <?php if(isset($gender) && $gender == "female") echo "checked"; ?>>女
<input type="radio" name="gender" value="male" <?php if(isset($gender) && $gender == "male")?>>男
<span class="error"> *<?php echo $genderErr; ?></span>
<br><br>
<input type="submit" name ="submit" value ="Submit">
</form>
<?php
echo "<h2>你输入的内容是:</h2>";
echo "<br>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>